Skip to content

fix!: bump urllib3, pytest, filelock and require Python 3.10+ (dependency vulnerability fixes) - #23

Open
devin-ai-integration[bot] wants to merge 3 commits into
mainfrom
devin/dep-vulns-major-pkg/urllib3-a66e4043/2026-10-05
Open

devin-ai-integration[bot] wants to merge 3 commits into
mainfrom
devin/dep-vulns-major-pkg/urllib3-a66e4043/2026-10-05

Conversation

@devin-ai-integration

@devin-ai-integration devin-ai-integration Bot commented Oct 5, 2026 •

Copy link
Copy Markdown

Dependency vulnerability fixes (automated)

Generated by the Devin Dependency Security Vuln Fix automation run on 2026-11-02 (PR originally opened 2026-10-05).
Change type: Major version bump — includes source/config changes to adapt to a breaking change.

Warning

We're not just looking for a review like a normal PR. Security can offer this fix as a recommendation, but doesn't have the tooling or domain knowledge to safely verify changes like this end-to-end for each repo. Please review, test, and own deployment before merging. For more information: https://launchdarkly.atlassian.net/wiki/spaces/SEC/pages/5360943572/Dependency+Vulnerability+Remediation+with+Devin.

Findings addressed

Package Ecosystem Bump type Current → Target Severity Age Source(s) Advisory
urllib3 (runtime) pip Minor (+ Python floor change) >=2.1.0 → >=2.8.0 High 119d Dependabot, Wiz GHSA-mf9v-mfxr-j63j / CVE-2026-44432, GHSA-qccp-gfcp-xxvc / CVE-2026-44431
urllib3 (runtime) pip Minor >=2.7.0 → >=2.8.0 High ×2 / Medium 10d Dependabot, Wiz GHSA-vxq7-64xx-v4gw / CVE-2026-97689, GHSA-8988-9cw3-xx77 / CVE-2026-97687, GHSA-gh4c-6fx4-qh6g / CVE-2026-97688
pytest (dev) pip Major >=7.2.1 → >=9.0.3 Medium 119d Dependabot, Wiz GHSA-6w46-j5rx-g56g / CVE-2025-71176
filelock (dev, transitive via tox) pip Minor (new explicit floor) unconstrained → >=3.20.3 Medium 119d Dependabot, Wiz GHSA-w853-jp5j-5j7f / CVE-2025-68146, GHSA-qmgc-5h2g-mvrw / CVE-2026-22701

Breaking change for consumers (hence fix!:): every patched release above (urllib3 2.7.0/2.8.0, pytest 9.0.3, filelock 3.20.3) declares Requires-Python >=3.10, so the package's supported-Python floor is raised 3.9 → 3.10 (Python 3.9 is upstream EOL):

  • pyproject.toml requires-python and setup.py PYTHON_REQUIRES: >=3.9 → >=3.10
  • .github/workflows/python.yml matrix: dropped 3.9
  • README.md: "Python 3.9+" → "Python 3.10+"
  • requirements.txt / test-requirements.txt / pyproject.toml dev group mirror the new floors (filelock >= 3.20.3 added explicitly).

2026-10-26: merged main (generated release 25.0.0). The only conflict was setup.py; resolved to VERSION = "25.0.0" (from main) + PYTHON_REQUIRES = ">= 3.10" (this PR). The PR diff vs main is still 6 files / +11 −9. The 25.0.0 regeneration reverted nothing else, but confirms the generator note: these files come from openapi-generator in ld-openapi; unless the generator config there is updated (Python floor + dependency floors), future releases will keep conflicting with / reverting this change.

2026-11-02 update: branch current with main; urllib3 floor raised >=2.7.0 → >=2.8.0 in requirements.txt, setup.py and pyproject.toml (the 2.8.0 advisories are now past the 7-day hold).

Deferred / excluded findings

  • None open beyond the note below.
  • The generated .travis.yml / .gitlab-ci.yml still list Python 3.9; they are generator boilerplate not used by this repo's CI (GitHub Actions) and are left untouched.

Verification

  • Install: ✅ pip install -r requirements.txt -r test-requirements.txt && pip install -e . + pip check on Python 3.10 (resolved urllib3 2.8.0, pytest 9.2.0, filelock 4.1.0)
  • Build: ✅ (pip install -e . builds the package)
  • Tests: ✅ pytest — 1122 passed on 3.10 (2026-11-02)
  • Lint: ✅ flake8 launchdarkly_api --select=E9,F63,F7,F82 — 0 issues (CI does not run a linter)

Note

Overview
Security-driven dependency remediation with a breaking supported-Python change: the package now requires Python 3.10+ (pyproject.toml, setup.py, README), and GitHub Actions no longer tests 3.9.

Runtime urllib3 is raised from >=2.1.0 to >=2.8.0 in requirements.txt, setup.py, and pyproject.toml. Dev tooling floors move to pytest >= 9.0.3 and add an explicit filelock >= 3.20.3 in pyproject.toml / test-requirements.txt. No application or client library source changes—only install metadata, docs, and CI matrix.

Reviewed by Cursor Bugbot for commit 4e2ef5c. Bugbot is set up for automated code reviews on this repo. Configure here.

Link to Devin session: https://app.devin.ai/sessions/8fbccb467dd4402f85e12e5f1613065c
Open in Devin Desktop: https://app.devin.ai/desktop/session/8fbccb467dd4402f85e12e5f1613065c?variant=devin

Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
@devin-ai-integration

Copy link
Copy Markdown
Author

I'll fix CI failures and address comments from users with write access. I'll skip comments containing "(aside)".

  • Disable automatic comment, CI, and merge conflict monitoring

…-pkg/urllib3-a66e4043/2026-10-05

Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants